widget-factory: Make the record button more interesting
authorMatthias Clasen <mclasen@redhat.com>
Fri, 3 Oct 2014 05:13:02 +0000 (01:13 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 3 Oct 2014 05:13:02 +0000 (01:13 -0400)
demos/widget-factory/widget-factory.c
demos/widget-factory/widget-factory.ui

index 53a044b3cdd1b22ab18cc3ffae6a2405a4e965bd..12d10a9968c506362821b7661a1e7e29cd7ca8c7 100644 (file)
@@ -290,6 +290,19 @@ on_scale_button_value_changed (GtkScaleButton *button,
   gtk_widget_trigger_tooltip_query (GTK_WIDGET (button));
 }
 
+static void
+on_record_button_toggled (GtkToggleButton *button,
+                          gpointer         user_data)
+{
+  GtkStyleContext *context;
+
+  context = gtk_widget_get_style_context (GTK_WIDGET (button));
+  if (gtk_toggle_button_get_active (button))
+    gtk_style_context_remove_class (context, "destructive-action");
+  else
+    gtk_style_context_add_class (context, "destructive-action");
+}
+
 static void
 update_header (GtkListBoxRow *row,
                GtkListBoxRow *before,
@@ -882,6 +895,7 @@ activate (GApplication *app)
   gtk_builder_add_callback_symbol (builder, "on_entry_icon_release", (GCallback)on_entry_icon_release);
   gtk_builder_add_callback_symbol (builder, "on_scale_button_value_changed", (GCallback)on_scale_button_value_changed);
   gtk_builder_add_callback_symbol (builder, "on_scale_button_query_tooltip", (GCallback)on_scale_button_query_tooltip);
+  gtk_builder_add_callback_symbol (builder, "on_record_button_toggled", (GCallback)on_record_button_toggled);
 
   gtk_builder_connect_signals (builder, NULL);
 
index 158f90ffdcc6c0c847a49a6f2a861a3a33c12903..c56a66c5f19f144b18ab72d2c14e9413096a6099 100644 (file)
@@ -3239,9 +3239,10 @@ microphone-sensitivity-medium-symbolic</property>
                           </object>
                         </child>
                         <child>
-                          <object class="GtkButton">
+                          <object class="GtkToggleButton" id="record_button">
                             <property name="visible">True</property>
                             <property name="halign">center</property>
+                            <signal name="toggled" handler="on_record_button_toggled"/>
                             <style>
                               <class name="text-button"/>
                               <class name="image-button"/>